package com.ai.bitcoin.service;

import com.ai.bitcoin.bo.MemberCenterBitcoinsBO;
import com.ai.bitcoin.bo.MemberCenterIndexBO;
import com.ai.bitcoin.bo.MemberCenterUpateStatusBO;
import com.ai.bitcoin.jpa.entity.BccBasicInfo;
import com.ai.bitcoin.jpa.entity.BccUser;
import com.ai.bitcoin.vo.MemberCenterIndexAccounVO;
import com.ai.bitcoin.vo.MemberCenterIndexVO;

import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * @description: ${description}
 * @author: gulj
 * @create: 2018-07-07 17:02
 **/
public interface MemberCenterService {

    BccUser queryBccUser(String openId);

    /**
     * 根据积分来计算我的排名
     *
     * @param openId
     * @return
     */
    int computeMyRank(String openId);

    MemberCenterIndexVO index(MemberCenterIndexBO memberCenterIndexBO);

    List<BccBasicInfo> bitcoins(MemberCenterBitcoinsBO bitcoinsBO);

    /**
     * 更新关注和订阅币的状态
     *
     * @param upateStatusBO
     */
    void updateStatus(MemberCenterUpateStatusBO upateStatusBO);


    /**
     * 个人中心，账单信息
     *
     * @param openId
     * @return
     */
    MemberCenterIndexAccounVO queryBccUserPLcRecord(String openId);

    String getPosterUrl(String openId) throws IOException;

    /**
     * 用户海报
     *
     * @param openId
     * @return
     * @throws IOException
     */
    File getPoster(String openId) throws IOException;
}
